﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Chilis.Marketing.Business.Logic;
using Chilis.Marketing.Business.Entity;
using Chilis.Marketing.Common;
using System.Data;

public partial class Manto_Unidad : System.Web.UI.Page
{
    #region ATRIBUTOS

    private BLUnidad unidadBL;

    #endregion

    #region PROPIEDADES
    #endregion

    #region METODOS

    public BEUnidad ObtenerUnidadBE_WebForm()
    {
        BEUnidad unidadBE = new BEUnidad();
        unidadBE.Descripcion = this.txtDescripcion.Text.Replace("'","''");
        unidadBE.Estado = Constantes.ESTADO.ACTIVO;
        unidadBE.Order_by = (char)Constantes.ORDENAR_POR.CODIGO;
        unidadBE.De_forma = (char)Constantes.DE_FORMA.ASCENDENTE;

        return unidadBE;
    }

    public void CargarGrillaListado(bool deBuscar)
    {
        if (deBuscar == true)
        {
            this.gvUnidades.PageIndex = 0;
        }

        BEUnidad unidadBE = this.ObtenerUnidadBE_WebForm();
        this.unidadBL = new BLUnidad();
        DataTable dt = this.unidadBL.buscarUnidades(unidadBE);
        this.gvUnidades.DataSource = dt;
        this.gvUnidades.DataBind();
    }

    private void LimpiarFormulario()
    {
        try
        {
            this.txtDescripcion.Text = string.Empty;
        }
        catch (Exception)
        {
        }
    }

    #endregion

    #region EVENTOS

    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsPostBack)
            {
                this.CargarGrillaListado(false);
            }
        }
        catch (Exception ex)
        {
            Response.Redirect("~/Error.aspx?titError=" + Mensajes.msjeError_CargaRegistros + "&descError=" + ex.Message, false);
        }
    }
    protected void btnAgregar_Click(object sender, EventArgs e)
    {
        Response.Redirect("DetUnidad.aspx?acc=" + Constantes.ACCION.NUEVO.ToString("D"), false);
    }

    protected void btnBuscar_Click(object sender, EventArgs e)
    {
        try
        {
            this.CargarGrillaListado(true);
        }
        catch (Exception ex)
        {
            Response.Redirect("~/Error.aspx?titError=" + Mensajes.msjeError_CargaRegistros + "&descError=" + ex.Message, false);
        }
    }


    protected void btnLimpiar_Click(object sender, EventArgs e)
    {
        this.LimpiarFormulario();
    }

    protected void gvUnidades_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        Constantes.ACCION accion = Constantes.ACCION.NINGUNO;
        accion = Constantes.ObtenerEnumAccion(e.CommandName);

        if (accion == Constantes.ACCION.NINGUNO)
        {
            return;
        }

        GridViewRow fila = ((GridViewRow)((Control)e.CommandSource).NamingContainer);
        string idUnidad = ((Label)fila.FindControl("lblCodigo")).Text;

        switch (accion)
        {
            case Constantes.ACCION.NINGUNO:
                break;
            case Constantes.ACCION.VER:
                Response.Redirect("DetUnidad.aspx?acc=" + Constantes.ACCION.VER.ToString("D") + "&id=" + idUnidad);
                break;
            case Constantes.ACCION.NUEVO:
                break;
            case Constantes.ACCION.MODIFICAR:
                Response.Redirect("DetUnidad.aspx?acc=" + Constantes.ACCION.MODIFICAR.ToString("D") + "&id=" + idUnidad);
                break;
            case Constantes.ACCION.ELIMINAR:
                Response.Redirect("DetUnidad.aspx?acc=" + Constantes.ACCION.ELIMINAR.ToString("D") + "&id=" + idUnidad);
                break;
            case Constantes.ACCION.ASOCIAR:
                break;
            case Constantes.ACCION.APROBAR:
                break;
            case Constantes.ACCION.GENERAR_REPORTE:
                break;
            default:
                break;
        }
    }
    protected void gvUnidades_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        this.gvUnidades.PageIndex = e.NewPageIndex;
        this.CargarGrillaListado(false);
    }

    protected void gvUnidades_RowDataBound(object sender, GridViewRowEventArgs e)
    {

    }

    #endregion



}